// TermResult.java
package com.tbynet.jwp.repository.dto.result;

import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;
import java.util.List;

/**
 * 分类项查询结果DTO
 * 对应WordPress的WP_Term对象
 */
public class TermResult implements Serializable {
    private static final long serialVersionUID = 1L;

    // 分类项ID
    private BigInteger termId;

    // 分类项名称
    private String name;

    // 分类项别名
    private String slug;

    // 分类法类型
    private String taxonomy;

    // 分类法ID
    private BigInteger taxonomyId;

    // 分类项描述
    private String description;

    // 父级分类项ID
    private BigInteger parentId;

    // 文章数量
    private Integer count;

    // 分类法分组
    private Integer termGroup;

    // 创建时间
    private Date createTime;

    // 更新时间
    private Date updateTime;

    private List<TermResult> children;

    public BigInteger getTermId() {
        return termId;
    }

    public void setTermId(BigInteger termId) {
        this.termId = termId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSlug() {
        return slug;
    }

    public void setSlug(String slug) {
        this.slug = slug;
    }

    public String getTaxonomy() {
        return taxonomy;
    }

    public void setTaxonomy(String taxonomy) {
        this.taxonomy = taxonomy;
    }

    public BigInteger getTaxonomyId() {
        return taxonomyId;
    }

    public void setTaxonomyId(BigInteger taxonomyId) {
        this.taxonomyId = taxonomyId;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public BigInteger getParentId() {
        return parentId;
    }

    public void setParentId(BigInteger parentId) {
        this.parentId = parentId;
    }

    public Integer getCount() {
        return count;
    }

    public void setCount(Integer count) {
        this.count = count;
    }

    public Integer getTermGroup() {
        return termGroup;
    }

    public void setTermGroup(Integer termGroup) {
        this.termGroup = termGroup;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public List<TermResult> getChildren() { return children; }
    public void setChildren(List<TermResult> children) { this.children = children; }
}